/*
 * Copyright 2004-2005 asoft
 * 本软件及其所有拷贝的名称，与光盘上或本软件中注明的公司同在。
 * 本软件及文档享有版权，并受国家版权法及国际协约条款的保护。
 * 您不可以从本软件中去掉其版权声明；并保证为本软件的拷贝（本部或部分）* 复制版权声明。
 * 您同意制止以任何形式非法拷贝本软件及文档。
 * 版权信息参见：
 *      http://www.asoft.cn/licenses
 */

package com.asoft.common.util.mvc.config;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;

/**
 * 数据来源(目前支持request,session等等)
 * 
 * 
 *
 * author: amon_lei created in ：2005-4-6 22:03
 */

public class DataSource
{

        static Logger logger = Logger.getLogger(DataSource.class);
        
        private HttpServletRequest request;
        
        public DataSource(HttpServletRequest request)
        {
                this.request = request;        
        }
        
        /**
         * 获取值
         *   from  request.getParameter() 、getParameterValues()、getAttribute()
         *
         */
        public Object getValue(String type,String regKey)    
          throws NoSuchElementException            
        {
                // reg.Param
                if(type.equals("reg.Param"))        
                {
                        return this.request.getParameter(regKey);        
                }
                // reg.ParamValues
                if(type.equals("reg.ParamValues"))        
                {
                        return this.request.getParameterValues(regKey);        
                }
                // reg.Attribute
                if(type.equals("reg.Attribute"))        
                {
                        return this.request.getAttribute(regKey);        
                }
                throw new NoSuchElementException("<field > 的 from 目前仅支持 reg.Param、reg.ParamValues、reg.Attribute," + 
                                                 "暂时不支持" + type);
        }
}
